// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'

import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import store from "./store";
// import './api/mock'
import './utils/request'
import VueAxios from "vue-axios";
import axios from "axios";

import "./router/permission"//permission是否登录拦截

import VueQuillEditor from 'vue-quill-editor'
// 引入样式
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'

import BaiduMap from 'vue-baidu-map'



Vue.use(BaiduMap, {
  // ak 是在百度地图开发者平台申请的密钥 详见 http://lbsyun.baidu.com/apiconsole/key */
  ak: 'NnnpvMp5MIQm8SGsFz4fTB88FTIBlmbC'
})


Vue.use(VueQuillEditor, /* { 默认全局 } */)


Vue.use(VueAxios, axios)

Vue.use(ElementUI);
// Vue.use(store)


Vue.config.productionTip = false

/* eslint-disable no-new */
// new Vue({
//   el: '#app',
//   store,
//   router,
//   components: {App},
//   template: '<App/>'
// })


// 注册一个全局自定义指令 v-isAdmin
//但是 即使细腻度到了按钮
//仍然需要在 router中 判断
//因为 用户可以直接通过访问url的方式 进入到 管理 页面 只是请求不到后端的数据而已（后端可定要有保护哈）
Vue.directive('isAdminShow', {
  //自定义指令实现细粒度的按钮显示等控制（例：如果我们想控制某个角色或者拥有某项权限才能看到编辑按钮）
  bind: (el) => {
    // const userinfo = this.$store.getters.getUser;    草 被这个玩爽了  js中调用 要import 而不是this指代
    // const userinfo = store.getters.getUser;
    var userinfo = JSON.parse(sessionStorage.getItem("userinfo"))

    //这个判断 是否有 用indexOf好骚 (由于我的用户只有一个角色 所以略)
    // if (!(localStorage.getItem('role').indexOf('admin') > -1)) {
    if (userinfo == null) {
      // console.log("userinfo 为空")
      el.setAttribute('style', 'display:none')
    } else {
      if (!userinfo.roles.some(item => item.name === 'admin')) {
        //设置当前的标签
        // console.log(userinfo.username+"该角色的名字是")
        el.setAttribute('style', 'display:none')
      } else {

      }
    }


  }

});

new Vue({
  router,
  store,
  render: h => h(App),
}).$mount('#app')
